Open Palm files in binary format for lame-o OS'es that distinguish
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 10 Oct 2002 05:43:39 +0000 (05:43 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Thu, 10 Oct 2002 05:43:39 +0000 (05:43 +0000)
between files access consisting of what you mean vs. what they think
you mean.

gpsbabel/cetus.c
gpsbabel/gpspilot.c
gpsbabel/magnav.c

index 06ebac9c7edfa0533066e4895148373bb5319b97..eb3a834c2ecbe6ed437a6cf323545c9f0e117523 100644 (file)
@@ -62,7 +62,7 @@ struct pdb_record *opdb_rec;
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "r");
+       file_in = fopen(fname, "rb");
        if (file_in == NULL) {
                fatal(MYNAME ": Cannot open %s for reading\n", fname);
        }
@@ -77,7 +77,7 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "w");
+       file_out = fopen(fname, "wb");
        out_fname = fname;
        if (file_out == NULL) {
                fatal(MYNAME ": Cannot open %s for writing\n", fname);
@@ -147,8 +147,12 @@ cetus_writewpt(waypoint *wpt)
 
        strncpy(rec->ID, wpt->shortname, sizeof(rec->ID));
        rec->ID[sizeof(rec->ID)-1] = 0;
-       strncpy(rec->name, wpt->description, sizeof(rec->name));
-       rec->name[sizeof(rec->name)-1] = 0;
+       if (wpt->description) {
+               strncpy(rec->name, wpt->description, sizeof(rec->name));
+               rec->name[sizeof(rec->name)-1] = 0;
+       } else {
+               rec->name[0] = 0;
+       }
 
        if (wpt->creation_time) {
                tm = gmtime(&wpt->creation_time);
index bf1b669c2e936974f93abf7759d6e1f59d0b4c87..4d140d78ecc4837629d7cb973cec32a94f1809b9 100644 (file)
@@ -43,7 +43,7 @@ struct pdb_record *opdb_rec;
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "r");
+       file_in = fopen(fname, "rb");
        if (file_in == NULL) {
                fatal(MYNAME ": Cannot open %s for reading\n", fname);
        }
@@ -58,7 +58,7 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "w");
+       file_out = fopen(fname, "wb");
        out_fname = fname;
        if (file_out == NULL) {
                fatal(MYNAME ": Cannot open %s for writing\n", fname);
index 93cd69c705e5de9d4b2cb13d0a63be7da217647b..39c57e9e3d3864a542c428d362ec9b29e808fbbb 100644 (file)
@@ -57,7 +57,7 @@ struct pdb_record *opdb_rec;
 static void
 rd_init(const char *fname)
 {
-       file_in = fopen(fname, "r");
+       file_in = fopen(fname, "rb");
        if (file_in == NULL) {
                fatal(MYNAME ": Cannot open %s for reading\n", fname);
        }
@@ -72,7 +72,7 @@ rd_deinit(void)
 static void
 wr_init(const char *fname)
 {
-       file_out = fopen(fname, "w");
+       file_out = fopen(fname, "wb");
        out_fname = fname;
        if (file_out == NULL) {
                fatal(MYNAME ": Cannot open %s for writing\n", fname);